﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using KenLib.BusinessManager;
using DataInfo;

public partial class JOINT_frmJ_StaffWorkSkillInput : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        ((JOINT_MstPage_JOINT)this.Master).changeTitle("業務スキル情報登録");
        ((JOINT_MstPage_JOINT)this.Master).HideLiArea("input");
        if (!IsPostBack)
        {
            this.getddl業務スキル名();
        }
        if (Session["ModeUpdate"] != null)// Session Update se lay mode Update tu trang frmJ_EmpbasicInfo cua link 語学力情報
        {
            this.CheckUpdate();
        }

        else
        {
            if (Session["IdEmp"] == null || Session["IdEmp"] == "")
            {
                Response.Redirect("frmJ_MCompManager.aspx");
            }
        }
        ddl業務スキル名.Focus();
        validate_ddl業務スキル名.ErrorMessage = GetError("ER00001");
        validate_txtレベル.ErrorMessage =  GetError("ER00001");
        validate_txt発行機関.ErrorMessage =  GetError("ER00001");
        //validate_regular_txt発行日.ErrorMessage = "発行日" + GetError("ER00002");
        CustomValidator2.ErrorMessage =  GetError("ER00002");
        validateday_Custom.ErrorMessage =  GetError("ER00005");
        CustomValidator1.ErrorMessage =  GetError("ER00009"); ;
        RequiredFieldValidator2.ErrorMessage = GetError("ER00001");
    }
    protected void btn_戻る_Click(object sender, EventArgs e)
    {
        if (Session["ModeUpdate"] != null)// Session Update se lay mode Update tu trang frmJ_EmpbasicInfo cua link 語学力情報
        {
            Response.Redirect("frmJ_EmpBasicInfo.aspx");
        }
        else
        {
            Response.Redirect("frmJ_StaffDiplomaInput.aspx");
        }
    }
    protected void btn_次_Click(object sender, EventArgs e)
    {
        Response.Redirect("frmJ_StaffRewPunInput.aspx");
    }

    public void getddl業務スキル名()
    {
        try
        {
            業務スキルコードManager frm = new 業務スキルコードManager();
            DataTable dt = new DataTable();
            dt = frm.get業務スキルコード();
            if (dt.Rows.Count > 0)
            {
                ddl業務スキル名.DataSource = dt;
                ddl業務スキル名.DataTextField = "勤務スキル名";
                ddl業務スキル名.DataValueField = "ID";
                ddl業務スキル名.DataBind();
                ListItem item = new ListItem("[選択]", "-1");
                item.Selected = true;
                ddl業務スキル名.Items.Insert(0, item);
            }
        }
        catch { }
    }
    protected void btn_登録_Click(object sender, EventArgs e)
    {
        try
        {
            if (Session["ModeUpdate"] != null)// Session Update se lay mode Update tu trang frmJ_EmpbasicInfo cua link 語学力情報
            {
                業務スキル情報Manager frm = new 業務スキル情報Manager();
                業務スキル情報 obj = new 業務スキル情報();
                obj.ID = 40;//// Session ID se lay ID tu trang frmJ_EmpbasicInfo cua link 業務スキル情報
                obj.業務スキルコード = Int32.Parse(ddl業務スキル名.SelectedValue.ToString());
                obj.業務スキル名 = ConvertHTML(ddl業務スキル名.SelectedItem.ToString());
                obj.レベル = ConvertHTML(txtレベル.Text.ToString());
                obj.発行機関 = ConvertHTML(txt発行機関.Text.ToString());
                obj.発行日 = DateTime.Parse(ConvertHTML(txt発行日.Text.ToString()));
                frm.Update_frmJ_StaffWorkSkillInput(obj);
                Response.Redirect("frmJ_EmpBasicInfo.aspx");
            }
            else
            {
                if (CustomValidator1.IsValid == true)
                {

                    業務スキル情報Manager frm = new 業務スキル情報Manager();
                    業務スキル情報 obj = new 業務スキル情報();
                    obj.廃止区分 = 0;
                    obj.業務スキルコード = Int32.Parse(ddl業務スキル名.SelectedValue.ToString());
                    obj.業務スキル名 = ConvertHTML(ddl業務スキル名.SelectedItem.ToString());
                    obj.レベル = ConvertHTML(txtレベル.Text.ToString());
                    obj.発行機関 = ConvertHTML(txt発行機関.Text.ToString());
                    obj.発行日 = DateTime.Parse(ConvertHTML(txt発行日.Text.ToString()));
                    obj.社員ID = Int32.Parse(Session["IdEmp"].ToString()); // ID lay tu sesssion khi dang ky tu trang frmJ_StaffBasicInfoInput
                    frm.Insert_frmJ_StaffWorkSkillInput(obj);
                    Resetfrom();
                    Response.Redirect("frmJ_StaffRewPunInput.aspx");
                    
                }
            }
        }
        catch { }
    }

    public string ConvertHTML(string input)
    {
        string convertinput = input.Replace("<", "&lt;");
        convertinput = convertinput.Replace(">", "&gt;");
        return convertinput;
    }

    public void CheckUpdate()
    {
        try
        {
            int ID = 40; //Int32.Parse(Session["Id"].ToString());// ID duoc lay tu Session[Id] tu trang frmJ_EmpBasicInfo
            btn_次.Enabled = false;
            DataTable dt = new DataTable();
            業務スキル情報Manager frm = new 業務スキル情報Manager();
            dt = frm.Get_frmJ_StaffWorkSkillInput(ID);
            if (dt.Rows.Count > 0)
            {
                foreach (DataRow row in dt.Rows)
                {
                    ddl業務スキル名.SelectedValue = row["業務スキルコード"].ToString();
                    txtレベル.Text = row["レベル"].ToString();
                    txt発行機関.Text = row["発行機関"].ToString();
                    txt発行日.Text = row["発行日"].ToString();
                }
            }
        }
        catch { }
    }
    protected void btn_リセット_Click(object sender, EventArgs e)
    {
        if (Session["ModeUpdate"] != null)// Session Update se lay mode Update tu trang frmJ_EmpbasicInfo cua link 語学力情報
        {
            this.CheckUpdate();
        }
        else
        {
            Response.Redirect("frmJ_StaffWorkSkillInput.aspx");
        }
    }

    public String GetError(string errorid)
    {
        string error = "";
        Error er = new Error();
        er.ErrorID = errorid;
        ErrorManager frm_error = new ErrorManager();
        DataTable dt = frm_error.getError(er);
        if (dt.Rows.Count > 0)
        {
            return error = dt.Rows[0][2].ToString();
        }
        else
        {
            return error;
        }


    }

    protected void CustomValidate業務スキル名(object source, ServerValidateEventArgs args)
    {
        try
        {
            if (Session["IdEmp"] != null)
            {
                業務スキル情報Manager frm = new 業務スキル情報Manager();
                業務スキル情報 obj = new 業務スキル情報();
                DataTable dt = new DataTable();
                obj.業務スキルコード = Int32.Parse(ddl業務スキル名.SelectedValue);
                obj.社員ID = Int32.Parse(Session["IdEmp"].ToString()); // ID lay tu sesssion khi dang ky tu trang frmJ_StaffBasicInfoInput;
                dt = frm.Select_frmJ_StaffWorkSkillInput(obj);
                if (dt.Rows.Count > 0)
                {
                    args.IsValid = false;
                    return;
                }
                else
                {
                    args.IsValid = true;
                }
            }
        }
        catch { }
    }
    public void Resetfrom()
    {
        ddl業務スキル名.SelectedValue = "-1";
        txtレベル.Text = "";
        txt発行機関.Text = "";
        txt発行日.Text = "";

    }
}
